Non-Strict Languages - Programming and Implementation

نویسندگان

  • Stuart Wray
  • Jon Fairbairn
چکیده

Non-strict evaluation improves the expressive power of functional languages at the expense of an apparent loss of eeciency. In this paper we give examples of this expressive power, taking as an example an interactive functional program and describing the programming techniques depending on non-strict evaluation which improved its design. Implementation methods for non-strict languages have delivered poor performance precisely when such programming techniques have been used. This need not be the case, however, and in the second part of the paper we describe Tim, a method of implementing non-strict languages for which the penalty for using lazy evaluation is very small.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Implementing Fudgets with Standard Widget Sets

Carlsson and Hallgren 1] describe the implementation of a set of \functional widgets" (Fudgets): components for programming graphical user interfaces under the X window system using the non-strict functional programming language Haskell. We describe an alternative implementation based on existing widget sets (currently Openlook and Motif). Our purpose is twofold: to show that the Fudgets approa...

متن کامل

A Model for the Compilation of Data

We present a new model DF for the implementation of non-strict but non-lazy functional languages (dataaow languages) on conventional parallel hardware. DF consists of a small set of functions that can be added to any imperative language and allow to express dataaow behaviour in a simple and eecient way. The purpose of this model is to provide a high-level and machine-independent target language...

متن کامل

An Overview of the Parallel Language Id ( a foundation for pH , a parallel dialect of Haskell )

Id is an architecture-independent, general-purpose parallel programming language that has evolved and been in use for a number of years. Id does not have a sequential core; rather, it is implicitly parallel, with the programmer introducing sequencing explicitly only if necessary. Id is a mostly-functional language, in the family of non-strict functional languages with a Hindley-Milner static ty...

متن کامل

A High - Level Target Language for theCompilation of Data

We present a new model DF for the implementation of non-strict but non-lazy functional languages (dataaow languages) on conventional parallel hardware. DF consists of a small set of functions that can be added to any imperative language and allow to express dataaow behaviour in a simple and eecient way. The purpose of this model is to provide a high-level and machine-independent target language...

متن کامل

Time and Space Prooling for Non-strict, Higher-order Functional Languages 1 Motivation and Overview

We present the rst prooler for a compiled, non-strict, higher-order, purely functional language capable of measuring time as well as space usage. Our pro-ler is implemented in a production-quality optimising compiler for Haskell, has low overheads, and can successfully proole large applications. A unique feature of our approach is that we give a formal speciication of the attribution of executi...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:
  • Comput. J.

دوره 32  شماره 

صفحات  -

تاریخ انتشار 1989